package com.flyqiu.form.api;

import com.flyqiu.form.api.config.IFlyQiuFormConfig;
import com.flyqiu.form.api.service.FlyQiuTableConfigService;
import com.flyqiu.form.api.store.FlyQiuFormCoreService;

public interface FlyQiuForm {
    /**
     * 初始化
     *
     * @param config 配置
     */
    void init(IFlyQiuFormConfig config);

    /**
     * 获取数据表单配置服务
     *
     * @return {@link FlyQiuTableConfigService}
     */
    FlyQiuTableConfigService getTableConfigService();

    /**
     * 获取核心服务
     *
     * @return {@link FlyQiuFormCoreService}
     */
    FlyQiuFormCoreService getCoreFormService();

    /**
     * 表单核心上下文
     *
     * @return {@link FlyQiuFormContext}
     */
    FlyQiuFormContext getContext();

}
